<?xml version="1.0"?>
<!--
  ~ Copyright 2004-2012 ICEsoft Technologies Canada Corp.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the
  ~ License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an "AS
  ~ IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  ~ express or implied. See the License for the specific language
  ~ governing permissions and limitations under the License.
  -->

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:icecore="http://www.icefaces.org/icefaces/core"
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    template="/resources/templates/content-template.xhtml">
    
    <ui:param name="title" value="#{msgs[collapsibleToggle.title]}"/>
    <ui:param name="description" value="#{msgs[collapsibleToggle.description]}"/>
    <ui:param name="resourceValue" value="#{collapsibleToggle.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{compatComponentsResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{compatComponentsResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form>
            <icecore:singleSubmit/>
            <h:panelGrid columns="2">
                <h:outputLabel for="toggleIn" value="Toggle on Click?"/>
                <h:selectBooleanCheckbox id="toggleIn" value="#{collapsibleToggle.toggle}"/>
            </h:panelGrid>
        </h:form>
            
        <h:form>
            <ice:panelCollapsible toggleOnClick="#{collapsibleToggle.toggle}">
                <f:facet name="header">
                    <h:panelGrid columns="2">
                        <h:graphicImage value="/resources/css/images/collapsible-on.gif" alt="Collapse"/>
                        <h:outputText value="ICEfaces 2 Overview" styleClass="panelHeaderStyle"/>
                    </h:panelGrid>
                </f:facet>
                <b>A New Standard</b>
                
                <p>ICEfaces 2 is an open-source Rich Internet Application (RIA) development framework based on the JavaServer Faces (JSF) 2 standard. Like its predecessor, ICEfaces 1.8, ICEfaces 2 extends JSF to simplify development and enhance the standard JSF feature set - simultaneously improving developer efficiency and expanding the spectrum of RIA capabilities that can be included in any JSF-based web application.</p>
                <p>Adhering closely to the standard JSF 2 extension points allows ICEfaces to work transparently with the stock JSF framework, simplifying integration and fostering 3rd party compatibility with other JSF 2-compliant libraries.</p>
                
                <b>Revolutionize RIA Development</b>
                
                <p>Key ICEfaces 2 framework extensions vastly simplify development, and expand the feature set of JSF 2.</p>
                
                <ul>
                    <li>Automatic Ajax drastically simplifies JSF development by eliminating the need for JSF f:ajax tags. Direct-to-DOM Rendering calculates the precise set of page changes from one request to the next, and Single Submit automatically submits individual components for processing. ICEfaces handles all of the Ajax underpinnings, allowing you to focus on application functionality.</li>
                    <li>Ajax Push enables real-time, multi-user collaboration in your JSF applications. Any state change in the application can instantaneously trigger push updates to other users of the application that need to be informed. New Ajax Push APIs make it simpler than ever to add collaborative features to your application.</li>
                </ul>
                
                <b>Rich Components</b>
                
                <p>ICEfaces 2 offers a vast array of rich components from with to craft your user interfaces.</p>
                
                <ul>
                    <li>The ICEfaces Components include all components from ICEfaces 1.8 and use a compatibility layer that enables them to function with JSF 2.0, and ICEfaces 2. These components provide a smooth migration path from ICEfaces 1.8.</li>
                    <li>The ICEfaces Advanced Components leverage all the features of the JSF 2.0 component architecture, and are based on the all-new Advanced Component Environment (ACE). The YUI JavaScript library provides rich, client-side web controls, but packaged as JSF components, so you don't need to know or use any JavaScript to include them in your application. Important features of the Advanced Components include flexible form definition, UI theming/skinning, and W3C ARIA accessibility.</li>
                    <li>The ICEfaces Enterprise Components are derived from the ICEfaces 1.8 Composite Component, but ported to the new JSF 2.0 Facelet architecture. Originally created by the ICEfaces application development team, these components can greatly reduce development time for a host of common application use cases. These components are available only in ICEfaces 2 Enterprise Edition.</li>
                </ul>
                
                <b>Tools</b>
                
                <p>ICEfaces 2 can be easily integrated into any Java EE development environment. In particular, IDE integration bundles are available for the open source IDEs Eclipse, and NetBeans.</p>
                
                <b>Open Source and Enterprise Grade</b>
                
                <p>ICEfaces 2 is an open source project licensed under Mozilla Public License, so you can develop and deploy with it, without any commercial licensing restrictions. You get all the advantages of a vibrant open source community, including a well-exercised code base, developer forums, and this wiki loaded with documentation and tutorials. ICEfaces is also enterprise grade software that is deployed in a wide range of Fortune 500 companies. If you need the assurances of professional support, you will get that and more from ICEfaces 2 Enterprise Edition (EE). With EE you get additional software, documentation, and deployment technologies like the Enterprise Push Server. You can learn more about the features and benefits of ICEfaces 2 EE here.</p>
            </ice:panelCollapsible>
        </h:form>
    </ui:define>
</ui:composition>
